您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

一种获取电能表通信波特率误差值的方法、装置及电能表

  • 申请号:CN201110341709.4 申请公布号: CN102394793B
  • 申请日: 2011-11-01 申请公布日: 2014-07-30
  • 申请(专利权)人: 专利代理机构: 深圳市弘拓知识产权代理事务所(普通合伙)
  • 分类号:H04L12/26;G01R11/02

专利介绍

本发明适用于电能表领域,提供了一种获取电能表通信波特率误差值的方法、装置及电能表,所述方法包括:接收输入的字节数据;判断所述字节数据是否是数据帧的第一起始符;当所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符之后的第7个字节数据为数据帧的第二起始符;统计传输所述第二起始符所用的时间;根据所述时间计算所述数据帧的通信波特率;计算所述通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。本发明,可以精确的计算本次数据帧的通信波特率,并且使用方便。
1.一种获取电能表通信波特率误差值的方法,其特征在于,所述方法包括:接收输入的字节数据;判断所述字节数据是否是数据帧的第一起始符;当所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符之后的第7个字节数据为数据帧的第二起始符;统计传输所述第二起始符所用的时间;根据所述时间计算所述数据帧的通信波特率;计算所述通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。
2.如权利要求1所述的方法,其特征在于,所述统计传输所述第二起始符所用的时间的步骤包括:在传输所述第二起始符的第一个下降沿时启动计时器;在传输所述第二起始符的第二个下降沿时关闭计时器;记录所述计时器的计时时间,所述计时器的计时时间为传输所述第二起始符所用的时间。
3.如权利要求1所述的方法,其特征在于,所述第一起始符和所述第二起始符均是68H。
4.一种获取电能表通信波特率误差值的装置,所述装置包括:数据接收单元,用于接收输入的字节数据;第一起始符确定单元,用于判断所述数据接收单元接收到的字节数据是否是数据帧的第一起始符;第二起始符确定单元,用于当所述第一起始符确定单元判断得出所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符后面的第7个字节数据为数据帧的第二起始符;时间获取单元,用于统计传输所述第二起始符所用的时间;波特率计算单元,用于根据所述时间获取单元统计得到的时间计算所述数据帧的通信波特率;波特率误差值计算单元,用于计算所述波特率值计算单元计算得到的通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。
5.如权利要求4所述的装置,其特征在于,所述时间获取单元包括:计时启动单元,用于在传输所述第二起始符的第一个下降沿时启动计时器;计时关闭单元,用于在传输所述第二起始符的第二个下降沿时关闭计时器;时间记录单元,用于记录所述计时器的计时时间,所述计时器的计时时间为传输所述第二起始符所用的时间。
6.如权利要求4所述的装置,其特征在于,所述数据接收单元是单片机的I/O端口。
7.一种电能表,其特征在于,所述电能表包括如权利要求4至6任一项所述的获取电能表通信波特率误差值的装置。技术领域
本发明属于电能表领域,尤其涉及一种获取电能表通信波特率误差值的方法、装置及电能表。
背景技术
保证电能表通信波特率维持在可控范围内,是智能电网实现全面、统一信息交互的基本前提,而智能电能表中的通信模块是实现智能电网内电能表之间信息交互的基础。然而,目前市场上暂无精确计算电能表通信波特率误差值的技术方法与产品,这给智能电能表通信模块的生产、检测带来不便。
发明内容
本发明的目的在于提供一种获取电能表通信波特率误差值的方法,旨在解决现有技术不能精确计算电能表通信波特率误差值,导致智能电能表通信模块的生产、检测不便的问题。本发明是这样实现的,一种获取电能表通信波特率误差值的方法,所述方法包括:接收输入的字节数据;判断所述字节数据是否是数据帧的第一起始符;当所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符之后的第7个字节数据为数据帧的第二起始符;统计传输所述第二起始符所用的时间;根据所述时间计算所述数据帧的通信波特率;计算所述通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。本发明的另一目的在于提供一种获取电能表通信波特率误差值的装置,所述装置包括:数据接收单元,用于接收输入的字节数据;第一起始符确定单元,用于判断所述数据接收单元接收到的字节数据是否是数据帧的第一起始符;第二起始符确定单元,用于当所述第一起始符确定单元判断得出所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符后面的第7个字节数据为数据帧的第二起始符;时间获取单元,用于统计传输所述第二起始符所用的时间;波特率计算单元,用于根据所述时间获取单元统计得到的时间计算所述数据帧的通信波特率;波特率误差值计算单元,用于计算所述波特率值计算单元计算得到的通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。本发明的另一目的在于提供一种电能表,所述电能表包括如上所述的获取电能表通信波特率误差值的装置。在上述技术方案中,从接收到的字节数据中找到数据帧的第一起始符;根据该第一起始符确定之后接收的第7个字节数据为数据帧的第二起始符;在接收该第二起始符时,统计传输该第二起始符所用的时间;根据所述时间计算所述数据帧的通信波特率;最后计算所述通信波特率与电能表所采用的标准波特率之间的差值,从而获得数据帧的通信波特率误差值。可以精确的计算本次数据帧的通信波特率,对于标准波特率1200bps至9600bps,误差值计量精确度理论上可达万分之一;另外,用户不用做任何复杂的操作,只需将该获取电能表通信波特率误差值的装置安装固定好后上电即可,接上RS485通信线,接收到数据帧后即可自动计算出该电能表的通信波特率误差值,使用方便。
附图说明
图1是本发明实施例提供的获取电能表通信波特率误差值的方法的流程图;图2是本发明实施例提供的获取电能表通信波特率误差值的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。在本发明实施例中,由于电能表的数据传输均采用DLT645-1997或DLT645-2007通信协议,这两种协议数据帧格式中都有两个数据帧起始符68H,且间隔字节数固定为6个字节数据。因此,在接收到第一个68H之后可准确预算第二个68H的接收时间,通过计算第二个68H数据的第一次下降沿与第二次下降沿共8bit的间隔时间T(s),即可精确计算出该次通信波特率为8/T(bps),再计算该通信波特率与电能表所采用的标准波特率之间的差值,就可计算出本次通信波特率误差值。图1是本发明实施例提供的获取电能表通信波特率误差值的方法的流程图,详述如下:在步骤S101中,接收输入的字节数据。在本发明实施例中,通过单片机的I/O端口接收输入的字节数据。其中,电能表的通信单元不断进行字节数据的接收,并将接收到的每个字节数据均输入至单片机的I/O端口。在步骤S102中,判断所述字节数据是否是数据帧的第一起始符。在本发明实施例中,通过单片机的嵌入式系统判断接收到的字节数据是否等于电力通信协议数据帧的第一起始符68H。如果是,则执行步骤S103,跳转到波特率计算程序区,如果不是则舍弃,继续判断后续接收到的字节数据是否是数据帧的第一起始符68H。在步骤S103中,当所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符之后的第7个字节数据为数据帧的第二起始符。在本发明实施例中,进入波特率计算程序区后,则可判定接下来要接收的第7个字节数据是电力通信协议数据帧的第二起始符68H。在步骤S104中,统计传输所述第二起始符所用的时间。在本发明实施例中,因为已经确定第一起始符之后的第七个字节数据为第二起始符68H,则在传输该68H的第一个下降沿时启动计时器,在传输该68H的第二个下降沿时关闭计时器,记录该计时器的计时时间,该计时器的计时时间即为传输第二起始符所用的时间。在步骤S105中,根据所述时间计算所述数据帧的通信波特率。在本发明实施例中,由于第一个下降沿和第二个下降沿的间隔数据位为8bit,则用8除以传输第二起始符所用的时间,即可计算出该次通信数据帧的精确波特率值。在步骤Sxa0106中,计算所述通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。在本发明实施例中,将计算得到的数据帧的通信波特率减去电能表所采用的标准波特率,即可得到数据帧的通信波特率误差值。其中,电能表所采用的标准波特率可以是1200bps、2400bps、4800bps,也可以是9600bps,具体可以根据需要自行设置。图2是本发明实施例提供的获取电能表通信波特率误差值的装置的结构框图,为了便于说明,仅示出了本发明实施例相关的部分。其中,该获取电能表通信波特率误差值的装置可以是内置于电能表的软件单元,硬件单元或者软硬结合的单元。在本实施例中,该装置包括:数据接收单元21、第一起始符确定单元22、第二起始符确定单元23、时间获取单元24、波特率计算单元25和波特率误差值计算单元26。数据接收单元21用于接收输入的字节数据。在本实施例中,电能表的通信单元不断进行字节数据的接收,并将接收到每个字节数据均输入数据接收单元21,即单片机的I/O端口。其中,本发明实施例中的通信单元包含RS485通信子单元与红外通信子单元。RS485通信子单元主要由RS485通信芯片组成,红外通信子单元主要由红外接收芯片与红外发射头组成。RS485通信子单元与红外通信子单元默认处于接收状态,当其通道有数据帧传输时,相应的通信子单元就会将数据帧传输至单片机所对应I/O端口,由单片机的嵌入式系统对数据帧作处理,计算出通信波特率误差值。第一起始符确定单元22用于判断所述数据接收单元接收到的字节数据是否是数据帧的第一起始符,在本发明实施例中,通过单片机的嵌入式系统判断接收到的字节数据是否等于电力通信协议数据帧的第一起始符68H。如果是,则跳转到波特率计算程序区计算本次通信波特率误差值,如果不是则舍弃,继续判断后续接收到的字节数据是否是数据帧的第一起始符68H。第二起始符确定单元23用于当所述第一起始符确定单元判断得出所述字节数据是数据帧的第一起始符时,继续接收字节数据,并统计接收到的字节数据的个数,其中,所述第一起始符后面的第7个字节数据为数据帧的第二起始符。时间获取单元24用于统计传输所述第二起始符所用的时间,在本发明实施例中,因为通过第二起始符确定单元23已经确定第一起始符之后的第七个字节数据为第二起始符68H,则在传输该68H的第一个下降沿时启动计时器,在传输该68H的第二个下降沿时关闭计时器,记录该计时器的计时时间,该计时器的计时时间即为传输第二起始符所用的时间。波特率计算单元25用于根据所述时间获取单元统计得到的时间计算所述数据帧的通信波特率,在本发明实施例中,由于第一个下降沿和第二个下降沿的间隔数据位为8bit,则用8除以传输第二起始符所用的时间,即可计算出该次通信数据帧的精确波特率值。波特率误差值计算单元26用于计算所述波特率值计算单元计算得到的通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。在本发明实施例中,第一起始符确定单元22、第二起始符确定单元23、时间获取单元24、波特率计算单元25和波特率误差值计算单元26均是单片机嵌入式系统中的CPU控制模块中的单元,另外,该获取电能表通信波特率误差值的装置还可以包括LCD显示单元,该单元可以显示波特率误差值计算单元26计算得到的通信波特率误差值。其中,本发明实施例中的CPU控制模块、通信单元和LCD显示单元集成在一块PCB板上,整个PCB板装在一套塑料电表壳里,用自攻螺丝固定。通过通信单元接收RS485、红外通信数据帧。CPU控制模块对接收到的数据帧进行处理计算,最后由LCD显示单元将计算结果显示出来。在本发明实施例中,首先从接收到的字节数据中找到数据帧的第一起始符;再确定该第一起始符之后的第7个字节数据为数据帧的第二起始符;在接收该第二起始符时,统计传输该第二起始符所用的时间,再根据所述时间计算所述数据帧的通信波特率,最后计算所述通信波特率与电能表所采用的标准波特率之间的差值,所述差值为所述数据帧的通信波特率误差值。可以精确的计算本次数据帧的通信波特率,对于标准波特率1200bps至9600bps,误差值计量精确度理论上可达万分之一;另外,用户不用做任何复杂的操作,只需将该获取电能表通信波特率误差值的装置安装固定好后上电即可,接上RS485通信线,接收到数据帧后即可自动计算出该电能表的通信波特率误差值,使用方便。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。